package org.budo.template.engine;

import org.budo.template.BudoTemplate;
import org.budo.template.BudoTemplateEngine;
import org.budo.template.TemplateLoader;
import org.budo.template.TemplateParser;
import org.budo.template.TemplateResource;

/**
 * @author lmw
 */
public class BudoTemplateEngineImpl implements BudoTemplateEngine {
    private TemplateLoader loader;

    private TemplateParser parser;

    @Override
    public BudoTemplate getTemplate(String name) {
        TemplateResource resource = this.getLoader().load(name);
        BudoTemplate template = this.getParser().parse(resource);
        return template;
    }

    public void setParser(TemplateParser parser) {
        this.parser = parser;
    }

    public void setLoader(TemplateLoader loader) {
        this.loader = loader;
    }

    public TemplateLoader getLoader() {
        return this.loader;
    }

    public TemplateParser getParser() {
        return this.parser;
    }
}